home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2002 #11
/
Amiga Plus CD - 2002 - No. 11.iso
/
Tools
/
Development
/
PowerD
/
powerd
/
source
/
lib
/
powerd_lib.lha
/
PowerD_PPC
/
OStrCmpNC.ass
< prev
next >
Wrap
Text File
|
2001-02-04
|
592b
|
44 lines
# OStrCmpNC(r3:PTR TO CHAR,r4:PTR TO CHAR,r5=-1:LONG)
.text
.global _OStrCmpNC
_OStrCmpNC:
subi r3,r3,1
subi r4,r4,1
.loop: lbzu r7,1(r3)
lbzu r6,1(r4)
cmplwi r7,91
bgt .next1
cmplwi r7,65
blt .next1
addi r7,r7,32
.next1:
cmplwi r6,91
bgt .next2
cmplwi r6,65
blt .next2
addi r6,r6,32
.next2:
cmpw r6,r7
bne .nosame # strings are different
mr. r7,r7 # zero (eos) byte?
beq .same
subi r5,r5,1
mr. r5,r5
bne .loop
.same: li r3,0
blr
.nosame: cmpw r6,r7
bgt .greater
li r3,-1
blr
.greater: li r3,1
blr
.type _OStrCmpNC,@function
.size _OStrCmpNC,$-_OStrCmpNC